Add Folders to Path

Overview

In the following notebok we extract Hyperbolic LCS from tensorlines of the eigenvector field associated to the minimum/maximum eigenvalue of the Cauchy Green strain tensor from AVISO data. The notebook is structured as follows:

  1. Import data from the file 'AVISO.mat' stored in the folder 'data'
  2. Define computational parameters (such as the number of cores) and data
  3. Define spatio-temporal domain.
  4. Interpolate velocity from (discrete) gridded data
  5. Hyperbolic LCS from forward computation:

    • Compute gradient of flow map $ \mathbf{\nabla F}_{t_0}^{t_N}(\mathbf{x}_0) $ over meshgrid using an auxiliary grid.

    • Compute Cauchy Green (CG) strain tensor as:

      \begin{equation} \mathbf{C}_{t_0}^{t_N}(\mathbf{x}_0) = \mathbf{\nabla F}_{t_0}^{t_N}(\mathbf{x}_0)^T\mathbf{\nabla F}_{t_0}^{t_N}(\mathbf{x}_0). \end{equation}

    • Compute maximum eigenvalues $ \lambda_2(\mathbf{x}_0) $ of $ \mathbf{C}_{t_0}^{t_N}(\mathbf{x}_0) $.

    • Compute repelling LCS (extracted over the time-interval $ [t_0, t_N] $) at time $ t_0 $ as tensorlines tangent to the eigenvector field $ \mathbf{\xi_1(\mathbf{x})} $ associated to the minimum eigenvalue $ \lambda_1(\mathbf{x}) $ of $ \mathbf{C}_{t_0}^{t_N}(\mathbf{x}_0) $:

      \begin{equation} \dfrac{d}{ds} \mathbf{x}(s) = \mathbf{\xi_1(\mathbf{x})} \end{equation}

      For repelling LCS, the tensorlines are launched from local maxima of the $ \lambda_2(\mathbf{x}) $-field.

    • Compute attracting LCS (extracted over the time-interval $ [t_0, t_N] $) at time $ t_0 $ as tensorlines tangent to the eigenvector field $ \mathbf{\xi_2(\mathbf{x})} $ associated to the maximum eigenvalue $ \lambda_2(\mathbf{x}) $ of $ \mathbf{C}_{t_0}^{t_N}(\mathbf{x}_0) $:

      \begin{equation} \dfrac{d}{ds} \mathbf{x}(s) = \mathbf{\xi_2(\mathbf{x})} \end{equation}

      For attracting LCS, the tensorlines are launched from local minima of the $ \lambda_1(\mathbf{x}) $-field.

      In case of an incompressible flow (as here) local maxima of the $ \lambda_2(\mathbf{x}) $-field coincide with local minima of the $ \lambda_1({\mathbf{x}}) $-field as $ \lambda_2(\mathbf{x}) = \dfrac{1}{\lambda_1(\mathbf{x})} $.

      Note that we compute repelling and attracting LCS from a single forward computation. Similarly repelling and attracting LCS can be computed from a single backward computation. Due to the unavoidable orientational discontinuities of the eigenvector-field, the integration has to be performed manually by checking the orientation of the eigenvector at every integration-step. If the orientation is not equivalent to the orientation of the eigenvector at the previous integration step, then the eigenvector has to be flipped before integrating.

Import data

Computational parameters and data

Here we define the computational parameters and the data.

Spatio-temporal domain

Here we define the spatio-temporal domain over which to consider the dynamical system.

Interpolate Velocity

In order to evaluate the velocity field at arbitrary locations and times, we interpolate the discrete velocity data. The interpolation with respect to time is always linear. The interpolation with respect to space can be chosen to be "cubic" or "linear".

Cauchy Green (CG) strain tensor

The Cauchy Green strain tensor $ C_{t_0}^t(\mathbf{x}) $ is computed by using an auxiliary meshgrid. 'aux_grid' specifies the ratio between the auxiliary grid and the original meshgrid. This parameter is generally chosen to be between $ [\dfrac{1}{5}, \dfrac{1}{10}] $. The computations are parallelized.

Eigenvalues/Eigenvectors of Cauchy Green strain tensor

We now compute the eigenvalues and eigenvectors of Cauchy Green strain tensor 'C'. We additionally also compute the $ \mathrm{FTLE}_{t_0}^{t_N} $ as we seek to later compare the repelling LCS with features of the FTLE-field.

Shrinklines (Repelling LCS)

Repelling LCS can be sought among trajectories of the differential equation:

\begin{equation} \mathbf{x}'_0(s) = \xi_1(\mathbf{x}_0;t_0, t_N), \label{eq: shrinklines} \end{equation}

with $ \xi_1 $ denoting the eigenvector associated to the weakest eigenvalue $ \lambda_1 $ of $ C_{t_0}^{t_N}(\mathbf{x}_0) $. The non-orientable vector field is well defiend away from tensorline singularites (points where $ \lambda_1 = \lambda_2 $). The most repelling shrinklines mark initial positions of repelling LCSs. Repelling LCSs can therefore be located as trajectories of eq. \ref{eq: shrinklines} that have locally the largest averaged $ \lambda_2(\mathbf{x}_0;t_0, t_N) $ among all neighbouring shrinklines.

Stretchlines (Attracting LCS)

Attracting LCS can be sought among trajectories of the differential equation:

\begin{equation} \mathbf{x}'_0 = \xi_2(\mathbf{x}_0;t_0, t_N), \label{eq: stretchlines} \end{equation}

with $ \xi_2 $ denoting the eigenvector associated to the strongest eigenvalue $ \lambda_2 $ of $ C_{t_0}^{t_N}(\mathbf{x}_0) $. The non-orientable vector field is well defiend away from tensorline singularites (points where $ \lambda_1 = \lambda_2 $). The most attracting stretchlines mark initial positions of attracting LCSs. Attracting LCSs can therefore be located as trajectories of eq. \ref{eq: stretchlines} that have locally the smallest averaged $ \lambda_1(\mathbf{x}_0;t_0, t_N) $ among all neighbouring stretchlines.

Similarly, we can obtain both repelling and attracting LCS at time $ t_N $ from a single backward computation of the backward flow map $ \mathbf{F}_{t_N}^{t_0}(\mathbf{x}_0) $. Obtaining positions of repelling LCSs at time $ t \in [t_0, t_N] $ from the forward forward computation remains problematic as it requires the forward advection of a discrete approximation of the repelling LCSs under the flow map $ \mathbf{F}_{t_0}^{t}(\mathbf{x}_0) $, generating exponentially growing errors. An analogous statement holds for attracting LCSs at time $ t_N $ by using backward advection under the backward flow map $ \mathbf{F}_{t_N}^{t}(\mathbf{x}_0) $.

Compared to the $ \mathrm{FTLE} $ field, which is only a diagnostic quantity used for visualizing possible hyperbolic LCSs, the repelling/attracting LCSs derived from the tensorline computation are precise indicators of hyperbolic LCSs. As expected repelling LCS (red solid lines) match well with ridge of the $ \mathrm{FTLE} $ field. Furthermore, due to the orthogonality of the two eigenvector fields $ \mathbf{\xi}_1 $ and $ \mathbf{\xi}_2 $, repelling LCS need always be orthogonal to attracting LCS. Intersections of repelling and attracting LCSs are referred to as generalized finite-time saddles[1, 2, 3].

References

[1] Farazmand, M., & Haller, G. (2012). Computing Lagrangian coherent structures from their variational theory. Chaos: An Interdisciplinary Journal of Nonlinear Science, 22(1), 013128.

[2] Farazmand, M., & Haller, G. (2013). Attracting and repelling Lagrangian coherent structures from a single computation. Chaos: An Interdisciplinary Journal of Nonlinear Science, 23(2), 023101.

[3] Onu, K., Huhn, F., & Haller, G. (2015). LCS Tool: A computational platform for Lagrangian coherent structures. Journal of Computational Science, 7, 26-36.